﻿
using System.Reflection;
using ClickLand.CorporacionPlaza.AccesoDato.Fabricas;
using ClickLand.CorporacionPlaza.Comunes.Entidades;
using ClickLand.CorporacionPlaza.Comunes.Recursos;
using ClickLand.CorporacionPlaza.LogicaNegocio.Contratos;
using Logger;


namespace ClickLand.CorporacionPlaza.LogicaNegocio.Implementacion.ComandosPension
{
    public partial class ObtenerPorContrato : IComando<Pension>
    {
        #region Atributos

        private long _idContrato;


        #endregion

        #region Constructor

        public ObtenerPorContrato(long idContrato)
        {
            _idContrato = idContrato;
        }
        #endregion
        
        /// <summary> Metodo que ejecuta la accion del comando </summary>
        /// <returns></returns>
        public Pension Ejecutar()
        {
            
            #region Instrumentacion Entrada
            if (Log.InfoHabilitado)
                Log.Info(string.Format(Recurso.EntrandoMetodo,MethodBase.GetCurrentMethod().Name));
            #endregion
            var retorno = FabricaDao.ObtenerFabrica().ObtenerDaoPension().ConsultarPorContrato(_idContrato);
            #region Instrumentacion Salida
            if (Log.InfoHabilitado)
                Log.Info(string.Format(Recurso.SaliendoMetodo,MethodBase.GetCurrentMethod().Name));
            #endregion
            return retorno;
        }
    }
}
